<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* 
          倒计时效果
              1.获取两个时间点
              2.转化为时间戳，并相减
              3，结果转化为时分秒
        */
        //    转换公式如下：
        //  d = parseInt(总秒数/ 60/60 /24);   //  计算天数
        //  h = parseInt(总秒数/ 60/60 %24)    //   计算小时
        //  m = parseInt(总秒数 /60 %60 );     //   计算分数
        //  s = parseInt(总秒数%60);           //   计算当前秒数

        // 某个当前时间的倒计时
        function countDowm(date) {
            // 获取时间
            let d1 = new Date();
            // 时间戳
            d1 = d1.getTime();
            let d2 = date.valueOf();

            // 时间戳差值
            let sub = d2 - d1;
            sub = sub / 1000;

            // 公式
            h = parseInt(sub / 60 / 60 % 24) //   计算小时
            m = parseInt(sub / 60 % 60); //   计算分数
            s = parseInt(sub % 60); //   计算当前秒数

            //  补零
            h = h < 10 ? '0' + h : h;
            m = m < 10 ? '0' + m : m;
            s = s < 10 ? '0' + s : s;

            // 字符串拼接
            return h + ':' + m + ':' + s;
        }
        let result = countDowm(new Date('2023-05-25 12:00:00'));
        console.log(result);
    </script>
</body>

</html>